package com.qujia.station.service;

import com.qujia.common.core.domain.AjaxResult;
import com.qujia.station.domain.Station;
import com.qujia.station.domain.dto.AddStationSettleInfoDto;
import com.qujia.station.domain.vo.StationByEnterpriseVo;
import com.qujia.station.domain.vo.StationResVo;
import com.qujia.station.domain.vo.StationVo;

import java.util.List;

/**
 * 油企信息Service接口
 * 
 * @author qujia
 * @date 2020-12-08
 */
public interface IStationService
{
    /**
     * 查询油站信息
     *
     * @param stationId 油站信息ID
     * @return 油企信息
     */
    public Station selectStationById(Long stationId);

    List<Station> getStationByEnterpriseId(Long enterpriseId);

    /**
     * 查询油站信息列表
     *
     * @param station 油站信息
     * @return 油站信息集合
     */
    public List<Station> selectStationList( Station station);

    /**
     * 新增油站信息
     *
     * @param station 油站信息
     * @return 结果
     */
    public int insertStation(Station station);

    public AjaxResult addStation(StationVo stationvo);

    /**
     * 修改油站信息
     *
     * @param station 油企信息
     * @return 结果
     */
    public int updateStation(Station station);

    /**
     * 删除油站信息
     *
     * @param stationId 油企信息ID
     * @return 结果
     */
    public int deleteStationById(Long stationId);

    /**
     * 批量删除油站信息
     *
     * @param stationIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteStationByIds(Long[] stationIds);

    List<StationResVo> batchInsertStation(List<Station> stationList) throws Exception;

    Station selectStationByName(String stationName);

    void addStationSettleInfo(AddStationSettleInfoDto addStationSettleInfoDto);

    AddStationSettleInfoDto getStationSettleInfo(String stationId);

    public int setShowCommisson(Station station);

    public int setShowPaymentCommission(Station station);



    List<StationByEnterpriseVo> getStationByEnterprise(Long enterpriseId);

    //调整油价获取油站信息
    List<StationByEnterpriseVo> getStationInfo();

    List<Long> getStationByEnterpriseList(List<Long> enterpriseId);

    List<Long> getStationIdList(Station station);

    List<Station> selectStationListByEnterpriseId(Long enterpriseId);

    int logicallyDelete(Long stationId);
}
